package com.inepex.inechart.client.linechart;

import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.event.dom.client.MouseMoveHandler;
import com.google.gwt.event.dom.client.MouseUpHandler;
import com.inepex.inechart.client.jobscheduler.HasScheduledJob;

public abstract class LineChartInteractiveModule implements MouseMoveHandler, MouseDownHandler, 
MouseUpHandler, ClickHandler{

	protected LineChartGwt lineChart;
	protected boolean canHandleEvents;
	protected boolean visible;

	public LineChartInteractiveModule() {
		visible = true;
	}

	protected void attach(LineChartGwt lineChart) {
		this.lineChart = lineChart;
	}

	protected abstract void prepareModel(HasScheduledJob jobScheduler);

	protected abstract void createModelGOs(HasScheduledJob jobScheduler);

	protected abstract void draw(HasScheduledJob jobScheduler);   

}
